home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / geos-archive / GEOS-D64 / GEOS Mega ASM (19xx)(-).d64 / list7-3 < prev    next >
Text File  |  2019-04-13  |  2KB  |  69 lines

  1.      n     "VLIR1-Mod B.obj"
  2.      if .p
  3.      t     "Listing_7.1.ext"
  4.      t     "TopSym"
  5.      t     "TopMac"
  6.      endif
  7.  
  8.      o     ModStart
  9.  
  10.      ; Sprungtabelle:
  11.      jmp     DA_Init
  12.      jmp     DA_Call
  13.  
  14. :maxDesks     = 8     ; maximale Anzahl der angezeigten DA's
  15. :DA_Init     ; Erstellung der Liste der DA's
  16.      ; der Applicationsdisk
  17.      LoadB     r7L,DESK_ACC
  18.      LoadB     r7H,maxDesks
  19.      LoadW     r6,DASpace
  20.      LoadW     r10,0     ; Keine Class-Angabe
  21.      jsr     FindFTypes
  22.      lda     #maxDesks     ; Anzahl ermitteln
  23.      sec
  24.      sbc     r7H
  25.      clc
  26.      adc     #01     ; Men}punktanzahl ermitteln
  27.      sta     a0     ; und merken
  28.      ora     #$80
  29.      sta     geosanz     ; und speichern
  30.      LoadB     a1,14     ; Untere Men}grenze
  31.      ldx     #a0     ; berechnen
  32.      ldy     #a1
  33.      jsr     BBMult
  34.      ldx     a0
  35.      inx
  36.      txa          ; Ergebnis zur
  37.      clc          ; oberen Grenze aufaddieren
  38.      adc     geosoben
  39.      sta     geosunten     ; und speichern
  40.      rts
  41.  
  42. :DA_Call               ; Nummer des Men}punktes in x
  43.      dex          ; minus 1
  44.      stx     a0L
  45.      jsr     GotoFirstMenu
  46.  
  47.      LoadB     a1,17
  48.      ldx     #a0
  49.      ldy     #a1
  50.      jsr     BBMult     ; mal 17
  51.      lda     a0L
  52.      clc
  53.      adc     #<DASpace     ; plus #DASpace
  54.      sta     r6L
  55.      lda     a0H
  56.      adc     #>DASpace
  57.      sta     r6H     ; ergibt Filenamen des DA's
  58.      LoadB     r0L,0
  59.      jsr     GetFile     ; DA laden und ausf}hren
  60.      lda     screencolors     ; Farben wiederherstellen
  61.      sta     :col
  62.      jsr     i_FillRam
  63.      w     1000,$8c00
  64. ::col     b     0
  65.      jsr     i_RecoverRectangle
  66.      b     16,199     ; BitMap wiederherstellen
  67.      w     0,319
  68.      rts